package com.byd.web.service;


import com.byd.system.domain.SysDept;
import com.byd.system.domain.SysUser;
import com.byd.system.domain.model.TreeSelect;
import com.byd.system.domain.vo.SysDeptVo;
import com.byd.system.domain.vo.SysPostVo;
import com.byd.system.domain.vo.SysRoleVo;
import com.byd.system.page.PageBean;

import java.util.List;

public interface IActivitiService {

    /**
     * 查询岗位数据
     *
     * @return 岗位信息
     */
    List<SysPostVo> getPostList();

    /**
     * 根据部门查询岗位
     *
     * @param deptId 部门Id
     * @return 岗位信息
     */
    List<SysPostVo> getPostByDept(Long deptId);

    /**
     * 查询角色数据
     *
     * @return 角色信息
     */
    List<SysRoleVo> getRoleList();

    /**
     * 查询部门数据
     *
     * @return 部门信息
     */
    List<SysDeptVo> getDeptList();

    /**
     * 查询部门数据
     *
     * @param dept 部门信息
     * @return 部门信息
     */
    List<SysDept> selectDeptList(SysDept dept);

    /**
     * 构建前端所需要下拉树结构
     *
     * @param depts 部门列表
     * @return 下拉树结构列表
     */
    List<TreeSelect> buildDeptTreeSelect(List<SysDept> depts);

    /**
     * 查询用户分页列表
     *
     * @param pageNum   页码
     * @param pageSize  页面大小
     * @param groupType 组类型（岗位、角色、部门）
     * @param groupId   组Id
     * @return 用户分页列表
     */
    PageBean<SysUser> queryUserPage(Integer pageNum, Integer pageSize, Integer groupType, String groupId);

    /**
     * 发送邮件
     * @param ids
     */
    boolean sendEmail(List<String> ids);

}
